+Wed May 15 18:15:45 2002 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtkdnd.c (_gtk_drag_source_handle_event): Don't
+ call gdk_pointer_grab() to change the cursor if we've
+ already ungrabbed on button release / escape.
+ (#80420, Dave Camp)
+
Wed May 15 17:12:50 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtktooltips.c: Special case menu items to
+Wed May 15 18:15:45 2002 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtkdnd.c (_gtk_drag_source_handle_event): Don't
+ call gdk_pointer_grab() to change the cursor if we've
+ already ungrabbed on button release / escape.
+ (#80420, Dave Camp)
+
Wed May 15 17:12:50 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtktooltips.c: Special case menu items to
+Wed May 15 18:15:45 2002 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtkdnd.c (_gtk_drag_source_handle_event): Don't
+ call gdk_pointer_grab() to change the cursor if we've
+ already ungrabbed on button release / escape.
+ (#80420, Dave Camp)
+
Wed May 15 17:12:50 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtktooltips.c: Special case menu items to
+Wed May 15 18:15:45 2002 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtkdnd.c (_gtk_drag_source_handle_event): Don't
+ call gdk_pointer_grab() to change the cursor if we've
+ already ungrabbed on button release / escape.
+ (#80420, Dave Camp)
+
Wed May 15 17:12:50 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtktooltips.c: Special case menu items to
+Wed May 15 18:15:45 2002 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtkdnd.c (_gtk_drag_source_handle_event): Don't
+ call gdk_pointer_grab() to change the cursor if we've
+ already ungrabbed on button release / escape.
+ (#80420, Dave Camp)
+
Wed May 15 17:12:50 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtktooltips.c: Special case menu items to
+Wed May 15 18:15:45 2002 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtkdnd.c (_gtk_drag_source_handle_event): Don't
+ call gdk_pointer_grab() to change the cursor if we've
+ already ungrabbed on button release / escape.
+ (#80420, Dave Camp)
+
Wed May 15 17:12:50 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtktooltips.c: Special case menu items to
guint drop_timeout; /* Timeout for aborting drop */
guint destroy_icon : 1; /* If true, destroy icon_window
*/
+ guint have_grab : 1; /* Do we still have the pointer grab
+ */
};
struct _GtkDragDestSite
}
}
+ info->have_grab = TRUE;
+
return info->context;
}
}
}
}
- else
+ else if (info->have_grab)
{
cursor = gtk_drag_get_cursor (gtk_widget_get_screen (widget),
event->dnd.context->action);
GtkWidget *source_widget = info->widget;
GdkDisplay *display = gtk_widget_get_display (source_widget);
+ info->have_grab = FALSE;
+
gdk_display_pointer_ungrab (display, time);
gdk_display_keyboard_ungrab (display, time);
gtk_grab_remove (info->ipc_widget);